#include <stdio.h>

using namespace std;

#define MAXN 30

char Chars[MAXN][MAXN];
int n, m;

void DrawOneLine(int x, int y, char c) {
  while (x < n && y < m) {
    Chars[x][y] = c;
    if (y < n && x < m) {
      Chars[y][x] = c;  // 对称位置。
    }
    ++x;
    ++y;
  }
}

void Solve() {
  char ch = 'A';
  int diag = n < m ? n : m;
  //   DrawOneLine(0, 0, 'A');
  if (n > m) {
    for (int i = 0; i < n; ++i) {
      DrawOneLine(i, 0, ch);
      ch++;
    }
  } else {
    for (int i = 0; i < m; ++i) {
      DrawOneLine(0, i, ch);
      ch++;
    }
  }
}

void Print() {
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < m; ++j) {
      putchar(Chars[i][j]);
    }
    puts("");
  }
}

int main() {
  scanf("%d%d", &n, &m);
  Solve();
  Print();
  return 0;
}